package com.aaron.messenger.net;

public abstract class Session {
	public static interface SessionStateChangedListener {
		public void onSessionStart(Session session);
		public void onSessionStop(Session session);
		public void onSessionPause(Session session);
		public void onSessionResume(Session session);
		public void onSessionFail(Session session);
	}
	
	protected Thread mThread;
	protected SessionStateChangedListener mListener;
	private long mSessionId = System.currentTimeMillis();
	
	public Session(SessionStateChangedListener listener) {
		mListener = listener;
	}
	
	public long getSessionId() {
		return mSessionId;
	}
	
	public abstract void start();
	
	public abstract void stop();
	
	public abstract void pause();
	
	public abstract void resume();
}
